Variables

¿Qué es una variable?

  • Podemos pensar en una variable como un contenedor para almacenar datos.
  • Formalmente son espacios en la memoria de nuestra computadora que almacenan datos.

¿Qué tipo de datos pueden almacenar?

Los tres tipos simples de datos son:

  • Números:
    • Enteros
    • Reales (punto flotante)
    • Complejos
  • Cadenas de texto
  • Valores booleanos

¿Cómo es que se definen las variables?

Básicamente, utilizaremos el operador de asignación = (igual), para definir el tipo de dato que guardará la variable. Los nombres deben comenzar con letras y no deben contener espacios.


In [1]:
miperro = 5
MiPerro = 2.3
Mi_Perro = 2 + 4j

print(type(miperro))
print(type(MiPerro))
print(type(Mi_Perro))


<type 'int'>
<type 'float'>
<type 'complex'>

In [2]:
Mi_Perro = 4
print(Mi_Perro)


4

In [3]:
Mi_Perro = "Firulais"
miperro = 'Rocky'

print(Mi_Perro)


Firulais

In [6]:
print(miperro)


Rocky

In [7]:
print(type(Mi_Perro))


<type 'str'>

In [9]:
spiderman = True
venom = False

print(type(spiderman))
print(spiderman)


<type 'bool'>
True

Operaciones aritméticas

Las operaciones aritméticas que podemos realizar con variables numéricas son:

  • Suma (+)
  • Resta (-)
  • Multiplicación (*)
  • División (/)
  • División entera (//)
  • Residuo (%)

In [18]:
x = 3
y = 5
z = x + y
print(z)


8

In [19]:
z = z - x
print(z)


5

In [20]:
x = x * y

In [21]:
z = z / y

In [22]:
print(x)
print(z)


15
1

In [23]:
z = 3.2
x = 2
z = z // x
print(z)


1.0

In [24]:
x = 5 % 3
print(x)


2

Operaciones con cadenas de texto

Las operaciones son:

  • Concatenar (+)
  • Repetir texto (*)

In [32]:
mejor_heroe = "Spiderman"
texto = "El mejor héroe es: "
heroe = texto + mejor_heroe
print(heroe)


El mejor héroe es: Spiderman

In [33]:
mejor_heroe = mejor_heroe*11
print(mejor_heroe)


SpidermanSpidermanSpidermanSpidermanSpidermanSpidermanSpidermanSpidermanSpidermanSpidermanSpiderman

Observaciones:

  • ¿Qué sucede cuando operamos variables de distinto tipo?
  • ¿Cómo puedo cambiar el tipo de variables para operar?

In [34]:
x = 3
print(type(x))
y = 2.8
print(type(y))


<type 'int'>
<type 'float'>

In [35]:
print(x+y)


5.8

In [36]:
perro = "Mirlo"
print(perro+x)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-36-b309818b85ce> in <module>()
      1 perro = "Mirlo"
----> 2 print(perro+x)

TypeError: cannot concatenate 'str' and 'int' objects

In [37]:
x = 2
y = "3"
print(x+y)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-37-1432fe02b301> in <module>()
      1 x = 2
      2 y = "3"
----> 3 print(x+y)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

In [38]:
print(type(y))
y = int(y)
print(type(y))

print(x+y)


<type 'str'>
<type 'int'>
5

Booleanos

(==) igual que (>) mayor que (<) menor que (>=) mayor o igual que (<=) menor o igual que (!=) diferente de


In [1]:
BOLE = 8 > 9
bole = 2 * 2 == 2 ** 2
print(bole)


True

and ¿Se cumplen A y B?

or ¿Se cumple A o B?

not Lo opuesto a A


In [3]:
a = not True
b = True and True
c = True and False
d = False and False
e = True or False
f = False or False
g = True or True
print(g)


True

Ejercicios:

-Definir una variable EDAD en 50, imprimir la edad y tipo de variable.

-Pedir al usuario que ingrese la edad y guardarla en la variable EDAD, redefiniendola. Imprimir tipo.


In [1]:
texto = "Mucho gusto, "
nombre = raw_input("¿Cuál es tu nombre?")

print(type(nombre))
print(texto+nombre)


¿Cuál es tu nombre?Rodolfo
<type 'str'>
Mucho gusto, Rodolfo

-¿La variable que ingresó el usuario es entera? Si no, conviértela a entera e imprime nuevamente el tipo de variable.

-¿Qué valor devolverían los siguientes booleanos? La jerarquía es not > or > and


In [ ]:
Pepe = not not False
Ana = not False and not True
Mary = False or True and True
w = 1 < 1 ** 3
t = 3 // 2 != 3 % 2
s = "Hola" == "hola"
r = 5 ** 2 > 3 ** 3 or True
var = 6 / 3 >= 10 % 5 and 25 ** (1 / 2) <= 3 + 2

In [ ]:

Y no lo olvides... ¡No dejes de compartir tus ejercicios y las dudas que te surjan con nosotros!